The present invention relates to gathering error statistics in a computer network, and more particularly to a circuit and method useful in network management that selectively stores error statistics of data packets transmitted in a computer network.
For any application of a network of computers, keeping the network operating smoothly is of paramount importance. Monitoring data packet transmission on the network and identifying error conditions enhances a user's ability to locate problems in the network. That is, information such as the types of errors, frequency of occurrence, and source of errors may point to a particular problem in the network. Accordingly, the user is able to take corrective action to provide for increased reliability of the network.
In a simple network, it is possible for a user to monitor the network manually for errors. In larger, more complicated networks, manual monitoring of the network becomes cumbersome and inadequate. Large networks require more sophisticated, automatic management. A network implementing automatic monitoring and management is referred to as a managed network. In such a network, an ability to obtain particularized information on various error statistics is invaluable in troubleshooting problems on the network.
In one typical managed network, such as a network based on the IEEE 802.3 standard (hereby expressly incorporated by reference for all purposes), a data packet transmitted by one data terminal equipment (DTE), e.g., an end station, to another DTE passes through at least one repeater. Because all data packets pass through a repeater, the repeater is a convenient place to gather error statistics for network management.
Gathering error statistics of various data packets at the repeater is possible by connecting a management unit to the repeater. A repeater with a management unit is referred to as a managed repeater. When the managed repeater receives a data packet, the repeater transmits the data packet to the management unit which performs various functions on the data packet. Some of the management unit functions include formatting the data packet upon receipt, performing error detection, and flagging error conditions.
One way to accumulate error statistics at the managed repeater is to use a first type of management unit (type-I) that includes internal hardware to detect errors, to count the number of occurrences of different error conditions, and to store those counts in an internal random access memory (RAM) of the management unit. When a particular error condition exists in a data packet sent to the managed repeater, the hardware within the management unit detects and flags the error, and then increments an appropriate register. To obtain error statistics, a microprocessor is able to simply read the various registers within the type-I management unit and obtain a total count of the various types of errors. One example of a type-I managed repeater is the IMR+/HIMIB chip set (P/Ns AM79C981 (IMR) and AM79C987 (HIMIB)) produced by Advanced Micro Devices of Sunnyvale, Calif.
A type-I managed repeater is sufficient for many tasks, but for some applications, performance is not optimum in that the statistics reflect only an aggregate number of errors accumulated over many data packets. Error statistics on a packet-by-packet basis are not available. In some cases, it is desirable to know error statistics for particular data packets.
It is known to use a different and more common implementation of a managed repeater that has the ability to accumulate error statistics on a packet-by-packet basis. This implementation of a managed repeater includes a second type of management unit (type-II) for the repeater. A type-II management unit consists of a media access controller (MAC), a RAM, and a microprocessor.
In the type-II managed repeater, a data packet from an end station is received by the repeater, which then passes the data packet to the MAC. The MAC strips the preamble and the start frame delimiter from the data packet, and then formats the remaining frame of the data packet from a serial data stream to a parallel data stream. The MAC writes the entire content of the frame of the data packet into the RAM. The microprocessor reads the content of the RAM and processes it according to the user's programmed software. This software implements error detection and extracts the desired error statistics from the data packets.
The type-II management unit is inefficient and expensive, because all data packets, even error-free packets, are stored and processed. It is possible for thousands of data packets to pass through the network every second. The type-II managed repeater requires both a large RAM to store the large quantity of data generated bytes rapidly incoming data packets, and a fast, powerful microprocessor to process all the data and gather error statistics.
Moreover, the type-II management unit is inefficient in gathering some types of sophisticated error statistics. For example, if a user desires to know the error condition of a particular data packet, as well as a corresponding physical port of that data packet, the type-II management performs partly, if at all. Even assuming that the management unit uses a MAC that is equipped to flag different error conditions, the management unit must still store and process every data packet. Because of the speed at which data packets flow into the MAC and then into the RAM, by the time the MAC flags a particular error, the microprocessor cannot determine the physical port of the data packet associated with the flagged error. In order to determine what physical port is associated with a certain error, the microprocessor must read and process the contents of all the data packets in the RAM in real-time. Thus, a type-II management unit is inefficient and expensive in gathering more sophisticated error statistics. Often external hardware is needed in addition to the repeater and management unit to determine the physical port information.